/*
 * @(#)TestDeadLock.java 2017年11月12日下午3:25:08
 * Copyright 2013 sinovatech, Inc. All rights reserved.
 */
package com.lpf.testJVM;

public class TestDeadLock {
	
	static class SynAddRunnable implements Runnable {
		int a, b;
		
		/**
		 * 创建一个新的实例TestDeadLock.SynAddRunnable.
		 */
		public SynAddRunnable(int a, int b) {
			this.a = a;
			this.b = b;
		}

		/* (non-Javadoc)
		 * @see java.lang.Runnable#run()
		 */
		@Override
		public void run() {
			synchronized (Integer.valueOf(a)) {
				synchronized (Integer.valueOf(b)) {
					System.out.println(a + b);
				}
			}
		}
		
	}

	/**
	 * @author liupeifeng
	 * @creationDate. 2017年11月12日 下午3:25:08 
	 * @param args
	 */

	public static void main(String[] args) {
		for (int i = 0; i < 100; i++) {
			new Thread(new SynAddRunnable(1, 2)).start();
			new Thread(new SynAddRunnable(2, 1)).start();
		}
	}

}
